home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 21
/
CU Amiga Magazine's Super CD-ROM 21 (1998)(EMAP Images)(GB)[!][issue 1998-04].iso
/
CUCD
/
Programming
/
Python-1.4
/
Python1.4_Source
/
SMAKEFILE
< prev
Wrap
Text File
|
1998-01-31
|
8KB
|
285 lines
#
# SMakefile for Python 1.4, to compile with SAS/C.
#
# Made by Irmen de Jong, 10 nov. 1995.
# updated: 25 march 1996 for use with AmiTCP
# updated: 7 may 1996, now uses 4 intermediate link libs
# updated: 27 aug 1996, AMITCP and AMITCP_NET defines
# updated: 8 dec 1996, for Python 1.4
#
# This makefile replaces all other makefiles.
#
# THIS IS THE 68020/IEEE BUILD MAKEFILE!!!
#
# Note:
# check out the compilation of
# $Y/ceval.c (Uses very much memory with global optimizer)
# (Takes a very long time to compile; huge switch)
# and
# $O/longobject.c (This one won't compile using the GST?!)
#
.c.o:
$(CC) $< $(COPTS)
# The subdirs in which the object files will be:
P=Parser
O=Objects
M=Modules
Y=Python
# ye old progname:
PROGRAM = Python_020_IEEE
all: message $(PROGRAM)
#
# version information: (CHANGE TO REFLECT COMPILER OPTIONS!)
#
# NOTE: When changing this, you must recompile Python/getversion.c and
# Python/getcompiler.c! (or they will contain wrong strings)
#
VERSIONINFO="68020/IEEE/AmiTCP"
#
# define to use mempools library
# (use mempools39 to link with V39+ only pools lib => shorter & faster)
#
MEMPOOLSLIB=Amiga/mempools.lib
#MEMPOOLSLIB=Amiga/mempools39.lib
STARTUP=Amiga/c_mempools.o
#
# define if NOT using mempools library
#
#MEMPOOLSLIB=
#STARTUP=LIB:c.o
#
#
# define if using AMITCP
#
AMITCPDEF=DEFINE=AMITCP INCLUDEDIR=netinclude:
AMITCPOBJECTS=$M/pwdmodule.o $M/grpmodule.o $M/cryptmodule.o $M/syslogmodule.o $M/socketmodule.o $M/selectmodule.o
AMITCPLIB=Amiga/python_net.lib
#
# define if developing new module -> faster turnarounds
# (add it to the module list if it's finished)
#
NEWMODULES = $M/arexxmodule.o $M/doslibmodule.o
#
# Amiga additional stuff
#
AMIGASTUFF=
#
# Link library configuration. Change to reflect correct math options etc.
#
CLIBS = $(MEMPOOLSLIB) $(AMITCPLIB) LIB:scmieee.lib LIB:sc.lib
# Set link options to thy likes.
# (compiler options can be changed using scopts)
LINKOPTS = SC SD BATCH NOICONS
COPTS = $(AMITCPDEF)
P_OBJECTS = $P/acceler.o $P/grammar1.o \
$P/myreadline.o $P/node.o $P/parser.o $P/parsetok.o \
$P/tokenizer.o $P/intrcheck.o
M_OBJECTS = $M/config.o $M/getpath.o $M/environment.o $M/amigamodule.o \
$M/regexpr.o $M/arraymodule.o $M/structmodule.o $M/stropmodule.o \
$M/mathmodule.o $M/regexmodule.o $M/newmodule.o $M/soundex.o \
$M/timemodule.o $M/binascii.o $M/md5module.o $M/md5c.o $M/rotormodule.o \
$M/urlopmodule.o $M/operator.o $M/cmathmodule.o $M/errnomodule.o \
$M/timingmodule.o
Y_OBJECTS = $Y/modsupport.o $Y/pythonrun.o $Y/errors.o $Y/bltinmodule.o \
$Y/ceval.o $Y/compile.o $Y/frozen.o $Y/getargs.o \
$Y/getcompiler.o $Y/getcopyright.o $Y/getmtime.o \
$Y/getplatform.o $Y/graminit.o $Y/import.o \
$Y/importdl.o $Y/marshal.o $Y/structmember.o $Y/sysmodule.o \
$Y/traceback.o $Y/sigcheck.o $Y/hypot.o
O_OBJECTS = $O/abstract.o $O/accessobject.o $O/fileobject.o $O/floatobject.o \
$O/funcobject.o $O/intobject.o $O/listobject.o $O/longobject.o \
$O/mappingobject.o $O/methodobject.o $O/moduleobject.o $O/object.o \
$O/rangeobject.o $O/stringobject.o $O/tupleobject.o $O/typeobject.o \
$O/classobject.o $O/frameobject.o $O/sliceobject.o $O/complexobject.o \
$O/cobject.o
#
# The objects are combined into link libraries.
# Somehow, this makes the resulting executable some 10 Kb smaller.
#
$P/parser.lib: $(P_OBJECTS)
-delete $P/parser.lib
oml $P/parser.lib a <@<
$(P_OBJECTS)
<
$Y/python.lib: $(Y_OBJECTS)
-delete $Y/python.lib
oml $Y/python.lib a <@<
$(Y_OBJECTS)
<
$M/modules.lib: $(M_OBJECTS)
-delete $M/modules.lib
oml $M/modules.lib a <@<
$(M_OBJECTS)
<
$O/objects.lib: $(O_OBJECTS)
-delete $O/objects.lib
oml $O/objects.lib a <@<
$(O_OBJECTS)
<
LIBS = $P/parser.lib $Y/python.lib $M/modules.lib $O/objects.lib $(CLIBS)
OBJECTS=$M/main.o $Y/getversion.o $(AMITCPOBJECTS) $(NEWMODULES) $(AMIGASTUFF)
Python.GST: amiga/make_gst.c include/config.h SCOPTIONS
-delete >NIL: Python.GST
-GST >NIL: Python.GST unload
-SC amiga/make_gst.c MKGST Python.GST $(COPTS) NOOBJNAME
$(PROGRAM): Python.GST $(OBJECTS) $(LIBS)
SC Python/getversion.c NOMODIFIED $(COPTS) DEFINE=VERSIONINFO=$(VERSIONINFO)
SLINK WITH <<
TO $(PROGRAM)
FROM $(STARTUP)
$(OBJECTS)
$(LINKOPTS)
LIB $(LIBS)
<<
# -delete >NIL: \#?.tmp
link:
SLINK WITH <<
TO $(PROGRAM)
FROM $(STARTUP)
$(OBJECTS)
$(LINKOPTS)
LIB $(LIBS)
<<
-delete >NIL: \#?.tmp
clean:
-delete $P/\#?.(o|lib) quiet
-delete $O/\#?.(o|lib) quiet
-delete $M/\#?.(o|lib) quiet
-delete $Y/\#?.(o|lib) quiet
-delete $(PROGRAM) \#?.tmp QUIET
-delete Python.GST >NIL:
message:
@echo "*N****** BUILDING: $(PROGRAM) *******N"
$P/acceler.o: $P/acceler.c
$P/bitset.o: $P/bitset.c
$P/firstsets.o: $P/firstsets.c
$P/grammar.o: $P/grammar.c
$P/grammar1.o: $P/grammar1.c
$P/listnode.o: $P/listnode.c
$P/myreadline.o: $P/myreadline.c
$P/node.o: $P/node.c
$P/parser.o: $P/parser.c $P/parser.h
$P/parsetok.o: $P/parsetok.c
$P/tokenizer.o: $P/tokenizer.c $P/tokenizer.h
$P/intrcheck.o: $P/intrcheck.c
$M/arexxmodule.o: $M/arexxmodule.c
$M/doslibmodule.o: $M/doslibmodule.c
$M/amigamodule.o: $M/amigamodule.c
$M/arraymodule.o: $M/arraymodule.c
$M/binascii.o: $M/binascii.c
$M/environment.o: $M/environment.c
$M/getpath.o: $M/getpath.c
$M/main.o: $M/main.c
$M/mathmodule.o: $M/mathmodule.c
$M/md5c.o: $M/md5c.c $M/md5.h
$M/md5module.o: $M/md5module.c
$M/newmodule.o: $M/newmodule.c
$M/pwdmodule.o: $M/pwdmodule.c
$M/cryptmodule.o: $M/cryptmodule.c
$M/grpmodule.o: $M/grpmodule.c
$M/syslogmodule.o: $M/syslogmodule.c
$M/socketmodule.o: $M/socketmodule.c
$M/selectmodule.o: $M/selectmodule.c
$M/regexmodule.o: $M/regexmodule.c
$M/regexpr.o: $M/regexpr.c $M/regexpr.h
$M/signalmodule.o: $M/signalmodule.c
$M/stropmodule.o: $M/stropmodule.c
$M/structmodule.o: $M/structmodule.c
$M/timemodule.o: $M/timemodule.c
$M/config.o: $M/config.c
$M/soundex.o: $M/soundex.c
$M/rotormodule.o: $M/rotormodule.c
$M/urlopmodule.o: $M/urlopmodule.c
$M/operator.o: $M/operator.c
$M/cmathmodule.o: $M/cmathmodule.c
$M/errnomodule.o: $M/errnomodule.c
$M/timingmodule.o: $M/timingmodule.c
$Y/hypot.o: $Y/hypot.c
$Y/bltinmodule.o: $Y/bltinmodule.c
$Y/ceval.o: $Y/ceval.c
SC $Y/ceval.c $(COPTS) NOOPTGLOBAL DEFINE=MAX_RECURSION_DEPTH=1000
$Y/compile.o: $Y/compile.c
$Y/errors.o: $Y/errors.c
$Y/frozen.o: $Y/frozen.c
$Y/fmod.o: $Y/fmod.c
$Y/getargs.o: $Y/getargs.c
$Y/getcompiler.o: $Y/getcompiler.c
SC $Y/getcompiler.c $(COPTS) DEFINE=VERSIONINFO=$(VERSIONINFO) $(COPTS)
$Y/getcopyright.o: $Y/getcopyright.c
$Y/getmtime.o: $Y/getmtime.c
$Y/getopt.o: $Y/getopt.c
$Y/getplatform.o: $Y/getplatform.c
$Y/getversion.o: $Y/getversion.c
$Y/graminit.o: $Y/graminit.c
$Y/import.o: $Y/import.c
$Y/importdl.o: $Y/importdl.c $Y/importdl.h
$Y/marshal.o: $Y/marshal.c
$Y/modsupport.o: $Y/modsupport.c
$Y/mystrtoul.o: $Y/mystrtoul.c
$Y/pythonrun.o: $Y/pythonrun.c
$Y/structmember.o: $Y/structmember.c
$Y/sysmodule.o: $Y/sysmodule.c
$Y/traceback.o: $Y/traceback.c
$Y/sigcheck.o: $Y/sigcheck.c
SC $Y/sigcheck.c $(COPTS) NOOPTINLINE
$O/abstract.o: $O/abstract.c
$O/accessobject.o: $O/accessobject.c
$O/classobject.o: $O/classobject.c
$O/fileobject.o: $O/fileobject.c
$O/floatobject.o: $O/floatobject.c
$O/frameobject.o: $O/frameobject.c
$O/funcobject.o: $O/funcobject.c
$O/intobject.o: $O/intobject.c
$O/listobject.o: $O/listobject.c
$O/longobject.o: $O/longobject.c
SC $O/longobject.c $(COPTS) NOGST ; DOESN'T COMPILE WITH GST
$O/mappingobject.o: $O/mappingobject.c
$O/methodobject.o: $O/methodobject.c
$O/moduleobject.o: $O/moduleobject.c
$O/object.o: $O/object.c
$O/rangeobject.o: $O/rangeobject.c
$O/stringobject.o: $O/stringobject.c
$O/sliceobject.o: $O/sliceobject.c
$O/tupleobject.o: $O/tupleobject.c
$O/typeobject.o: $O/typeobject.c
$O/complexobject.o: $O/complexobject.c
$O/cobject.o: $O/cobject.c
$(AMITCPLIB):
execute <<
cd Amiga/python_netlib
smake python_net.lib
rename python_net.lib /
<<